import { ListPage } from "custom/index";
import { getMaterialFilePage, removeMaterialFile } from './api'
import { addDialog, editDialog } from './dialog'

export async function openAction({ props }) {
  const row = props.row || {}
  if (row.fileUrl) {
    window.open(row.fileUrl, '_blank')
  }
}

const page = new ListPage('MaterialManagement');

page
  .api(getMaterialFilePage)
  .useSearch()
    .addInputItem('keyword', '文件名')
    .end()
  .useTable()
    .useIndexColumn().end()
    .useColumn('name').label('文件名').minWidth(140).end()
    .useColumn('fileType').label('文件类型').minWidth(120).end()
    .useColumn('fileSize').label('文件大小').formatter(row => `${row.fileSize}${row.fileSizeUnit}`).minWidth(140).end()
    .useColumn('createTime').label('发布时间').minWidth(200).end()
    .useColumn('createUserName').label('发布人').minWidth(140).end()
    .end()
  .usePagination()
    .end()
  .useAuthButton()
    .useItem('add').primary().content('添加素材').addRow(addDialog).end()
    .end()
  .useAuthColumn({ width: 150 })
    .useItem('open').content('打开').action(openAction).end()
    .useItem('edit').content('编辑').editRow(editDialog).end()
    .useItem('delete').content('删除').removeRow(removeMaterialFile, row => [row.materialFileId]).end()
    .end()

export default page
